For an uplink channel of 3rd generation partnership project radio access network long term evolution (3 GPP RAN LTE, hereinafter referred to as “LTE”), single-carrier transmission is adapted to achieve a low peak to average power ratio (PAPR).
Further, for an LTE uplink channel, to achieve high throughput, adaptive modulation (AMC: adaptive modulation and coding) is used so as to select the modulation and coding scheme (MCS) pattern for each user depending on the channel quality indicator (CQI) of each user.
Further, introduction of the MIMO system is being considered to achieve higher transmission rate and to further improve the efficiency of use of frequency. Introduction of a rank transmission technique is also considered such as rank adaptation with which the rank indication (the number of rank) is adaptively switched depending on the status of a spatial propagation path to further improve transmission rate.
Under these circumstances, an agreement is made to time-multiplex control information and user data using the physical uplink shared channel (PUSCH) of the same subframe so as to maintain low PAPR even when both control information and user data are transmitted at the same time in an LTE uplink channel (see Non-Patent Literature 1).
The number of coded symbols, Q′, of control information to be multiplexed with user data is set based on equation 1.
                    (                  Equation          ⁢                                          ⁢          1                )                                                                      Q          ′                =                              min            (                                          ⌈                                  O                                                            10                                                                        -                                                      Δ                            offset                            PUSCH                                                                          10                                                              ·                                          R                      data                                                                      ⌉                            ,                              4                ·                                  M                  sc                                                      )                    =                      min            ⁡                          (                                                Q                  ⁢                                                                          ⁢                  1                                ,                                  Q                  ⁢                                                                          ⁢                  2                                            )                                                          [        1        ]            where ┌x┐ is an integer not greater than x, and min(x,y) is the value of the smaller one of x and y.
In equation 1, Msc is the number of subcarriers per PUSCH subframe, and ΔPUSCHoffset is a PUSCH offset which varies per control information such as ACK/NACK, rank indicator (RI), or CQI. ΔPUSCHoffset is reported from a higher layer (see Non-Patent Literature 1).
O is the number of control information bits, and Rdata is represented by equation 2.
                    (                  Equation          ⁢                                          ⁢          2                )                                                                      R          data                =                                            ∑                              r                =                0                                            C                -                1                                      ⁢                          K              r                                                          M              sc                        ·                          N              symb                                                          [        2        ]            In equation 2, Kr is the number of bits on r-th block, C is the number of blocks per PUSCH subframe, and Nsymb is the number of symbols per PUSCH subcarrier. The actual coding rate of user data is obtained by dividing Rdata in equation 2 by the number of bits per symbol, and is in proportion to Rdata in equation 2. Accordingly, Rdata in equation 2 will be hereinafter referred to as “user data coding rate.”
In equation 1, Q1 is the number of coded symbols of control information that is set based on the number of control information bits O, user data coding rate Rdata, and PUSCH offset ΔPUSCHoffset, per control information. Q2 is the upper limit value of the number of coded symbols of control information. As shown in equation 1, the number of coded symbols of control information, Q′, is set by the smaller one of the number of symbols Q1 and upper limit value Q2.
Here, equation 1 is modified to provide equation 3. As is the case with Rdata in equation 2, the actual coding rate of control information is obtained by dividing Rcontrol in equation 3 by the number of bits per symbol, and is in proportion to Rcontrol in equation 3. Accordingly, Rcontrol in equation 3 will be hereinafter referred to as “control information coding rate (coding rate of control information).”
                    (                  Equation          ⁢                                          ⁢          3                )                                                                                                                R                control                            =                            ⁢                              O                                  Q                  ′                                                                                                        =                            ⁢                              max                (                                                      O                                          ⌈                                              O                                                                              10                                                                                          -                                                                  Δ                                  offset                                  PUSCH                                                                                            10                                                                                ·                                                      R                            data                                                                                              ⌉                                                        ,                                      O                                          4                      ·                                              M                        sc                                                                                            )                                                                                        =                            ⁢                              max                ⁡                                  (                                                            R                      ⁢                                                                                          ⁢                      1                                        ,                                          R                      ⁢                                                                                          ⁢                      2                                                        )                                                                                        [        3        ]            where ┌x┐ is an integer not greater than x, and max(x,y) is the value of the greater one of x and y. In equation 3, R1 is the coding rate that is set based on user data coding rate Rdata and PUSCH offset, ΔPUSCHoffset, per control information. R2 is the lower limit value of control information coding rate Rcontrol. As is shown in equation 3, control information coding rate Rcontrol is set to the value of the greater value of coding rate R1 and lower limit value R2. A case will be described below where coding rate R1 is greater than lower limit value R2, and control information coding rate Rcontrol is set as coding rate R1.
In this case, in equation 3, when PUSCH offset ΔPUSCHoffset is greater than 0, control information coding rate Rcontrol is set lower than user data coding rate Rdata. Generally, unlike user data, control information is not retransmitted. Therefore, by setting PUSCH offset ΔPUSCHoffset, to be greater than 0 and using equation 3, it is possible to lower control information coding rate Rcontrol than user data coding rate Rdata to enhance the capability of error correction of control information.